package com.hoshiicloud.payment.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.web.multipart.MultipartFile;

/**
 * 文件上传参数
 *
 * @author Mr.wu
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel("文件上传参数")
public class UploadFileRequest implements Serializable {

    /**
     *
     */
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "存储空间名称，上传时指定的存储空间", required = true)
    private String bucketName;

    @ApiModelProperty(value = "文件key,上传时存储的对象key，上传完毕后原样返回，如不传则使用文件MD5值。")
    private String objectKey;

    @ApiModelProperty(value = "文件名,批量上传时需和key对应", required = true)
    private String fileName;

    /**
     * 上传文件夹
     */
    @ApiModelProperty(value = "文件夹路径")
    private String folder;
    @ApiModelProperty(value = "上传的文件", hidden = false)
    private MultipartFile file;


}
